feat: add SchedulingToMinimizeWeightedCompletionTime model + ILP rule#809
feat: add SchedulingToMinimizeWeightedCompletionTime model + ILP rule#809
Conversation
…le (#505) Implement the multiprocessor scheduling optimization problem (SS13 from Garey & Johnson) that minimizes total weighted completion time with Smith's rule ordering on each processor, plus its direct ILP reduction. - Model: Min<u64> value type, dims=[m; n], Smith's rule for per-processor ordering - ILP rule: binary assignment + completion time + ordering variables with big-M constraints - 16 model tests + 6 ILP tests, all passing - CLI: pred create support, schema registration - Paper: problem-def + reduction-rule entries with bibliography Closes #505 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #809 +/- ##
==========================================
+ Coverage 97.87% 97.88% +0.01%
==========================================
Files 639 643 +4
Lines 70008 70418 +410
==========================================
+ Hits 68517 68926 +409
- Misses 1491 1492 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Agentic Review ReportStructural CheckStructural Review: model+rule SchedulingToMinimizeWeightedCompletionTimeStructural Completeness
Build Status
Semantic Review
Issue Compliance
Summary
Quality CheckQuality ReviewDesign Principles
HCI (CLI changed)
Test Quality
IssuesCritical (Must Fix)
Important (Should Fix)
Minor (Nice to Have)
Summary
Agentic Feature TestsFeature Test Report: problemreductionsDate: 2026-03-29 Summary
Per-Feature DetailsSchedulingToMinimizeWeightedCompletionTime model + ILP rule
Expected vs Actual Outcome
Issues Found
Suggestions
Generated by review-pipeline |
…e conflicts) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… time description Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds completion-time upper bound constraints (C_t <= M where M = Σ l(t)) to tighten the LP relaxation. Updates overhead formula from 2*n to 3*n bound constraints, matching the 75-constraint canonical example. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resolve import conflicts: keep both SchedulingToMinimizeWeightedCompletionTime and KthLargestMTuple in create.rs and mod.rs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
SchedulingToMinimizeWeightedCompletionTimeoptimization model (misc category) -- multiprocessor scheduling that minimizes total weighted completion time using Smith's rule for per-processor orderingSchedulingToMinimizeWeightedCompletionTime -> ILPreduction rule with binary assignment variables, completion-time variables, and big-M disjunctive ordering constraintspred create), schema, example-db, and paper (problem-def + reduction-rule)--features ilp-highsCloses #505
Companion rule for #783
Test plan
cargo clippy --all-targets --features ilp-highs -- -D warningspassescargo test --features "ilp-highs example-db" --workspace-- all tests pass (22 new tests)cargo fmt --checkpassestypst compile-- paper builds without errors🤖 Generated with Claude Code